home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Just Call Me Internet
/
Just Call Me Internet.iso
/
prog
/
atari
/
c
/
crc_lib
/
crc.h
next >
Wrap
C/C++ Source or Header
|
1994-03-10
|
2KB
|
68 lines
/* ------------------------------------------------------------------------
* CRC.LIB
* Assemblerroutines (68000er) for CRC calculations;
*
* (c) 1994 by Jan Kriesten, D-35039 Marburg, FidoNet: 2:244/4344
*
* The CRC tables are included in the library.
*
* The xxBlk-Routines will automatically branch to xxShort
* if blocklength < 0xffffL.
*/
#ifndef __CRC_H__
#define __CRC_H__
/*--- includes ---*/
/*--- defines ---*/
/*--- types ---*/
/*--- variables ---*/
/*--- prototypes ---*/
/*
* CRC-CCITT (x^16+x^12+x^5+1)
*/
extern unsigned int Crc16cTab[256];
unsigned int Crc16cStr ( unsigned char *str );
unsigned int Crc16cBlk ( unsigned char *blk, unsigned long length );
unsigned int Crc16cUpd ( unsigned int crc, unsigned char c );
unsigned int Crc16cBlkUpd ( unsigned int oldcrc, unsigned char *blk, unsigned long length );
unsigned int Crc16cShort ( unsigned int oldcrc, unsigned char *blk, int length );
/*
* The return values of the following functions have to be
* negated at the end of calculation!
*/
/*
* CRC-16 (x^16+x^15+x^2+1)
*/
extern unsigned int Crc16Tab[256];
unsigned int Crc16Str ( unsigned char *str );
unsigned int Crc16Blk ( unsigned char *blk, unsigned long length );
unsigned int Crc16Upd ( unsigned int crc, unsigned char c );
unsigned int Crc16BlkUpd ( unsigned int oldcrc, unsigned char *blk, unsigned long length );
unsigned int Crc16Short ( unsigned int oldcrc, unsigned char *blk, int length );
/*
* CRC-32 (x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1)
*/
extern unsigned long Crc32Tab[256];
unsigned long Crc32Str ( unsigned char *str );
unsigned long Crc32Blk ( unsigned char *blk, unsigned long length );
unsigned long Crc32Upd ( unsigned long crc, unsigned char c );
unsigned long Crc32BlkUpd ( unsigned long oldcrc, unsigned char *blk, unsigned long length );
unsigned long Crc32Short ( unsigned long oldcrc, unsigned char *blk, int length );
/*--- End of crc.h module ---*/
#endif